package com.manage.system.api.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.manage.common.core.result.JsonResult;
import com.manage.system.api.entity.SysDept;
import com.manage.system.api.request.dept.DeptAddOrEditParam;
import com.manage.system.api.request.dept.DeptQueryParam;

/**
 * <p>
 * 系统部门表 服务类
 * </p>
 *
 * @author zhangqing
 * @since 2021-03-05
 */
public interface ISysDeptService extends IService<SysDept> {

    /**
     * 获取部门
     * @return 部门列表
     */
    JsonResult findDeptList(DeptQueryParam deptQueryParam);

    /**
     * 获取所有部门(树形)
     * @return 部门(树形)
     */
    JsonResult findAllDeptTree();

    /**
     * 添加部门
     * @param deptAddOrEditParam 参数
     * @return 统一返回
     */
    JsonResult addDept(DeptAddOrEditParam deptAddOrEditParam);

    /**
     * 删除部门
     * @param deptId 部门ID
     * @return 统一返回
     */
    JsonResult delDeptById(Long deptId);

    /**
     * 编辑部门
     * @param deptAddOrEditParam 参数
     * @return 统一返回
     */
    JsonResult editDept(DeptAddOrEditParam deptAddOrEditParam);
}
